package com.gzz.orchid.common.core.tuple;

import com.gzz.orchid.common.core.exception.ValidationException;
import lombok.Value;

import java.util.Objects;
import java.util.regex.Pattern;

/**
 * 联系人 - 元件
 *
 * @author higmd
 */
@Value
public class Contact {
    // 名称
    String name;
    // 手机号码
    String mobile;
    // 电子邮箱
    String email;
    // 构造函数
    public Contact(String name, String mobile, String email) {
        if (Objects.isNull(name)) {
            throw new ValidationException("姓名不能为空");
        }
        if (Objects.nonNull(mobile)) {
            if (!Pattern.matches("^(1[2-9])\\d{9}$", mobile)) {
                throw new ValidationException("手机号格式不是有效的");
            }
        }
        if (Objects.nonNull(email)) {
            if (!Pattern.matches("^(1[2-9])\\d{9}$", mobile)) {
                throw new ValidationException("电子邮箱格式不是有效的");
            }
        }
        this.name = name;
        this.mobile = mobile;
        this.email = email;
    }
}
